home *** CD-ROM | disk | FTP | other *** search
- /* $Id: ckmasm.h,v 1.4 91/12/15 23:16:43 rick Exp $
- * $Source: /uw/mackermit/RCS/ckmasm.h,v $
- *------------------------------------------------------------------
- * $Log: ckmasm.h,v $
- * Revision 1.4 91/12/15 23:16:43 rick
- * ut9
- *
- * Revision 1.3 91/09/12 21:50:29 rick
- * UT(3). Install on watsun
- *
- * Revision 1.2 1991/09/10 22:21:37 rick
- * Update to UTexas(2)
- *
- * Revision 1.1 1991/09/10 19:17:44 rick
- * Initial revision
- *
- *------------------------------------------------------------------
- * $Endlog$
- */
-
- /*
- * file ckmasm.h
- *
- * Module of Mac Kermit containing code for assembler instructions needed
- *
- */
-
- /*
- Copyright (C) 1985, 1992, Trustees of Columbia University in the City of New
- York. Permission is granted to any individual or institution to use this
- software as long as it is not sold for profit. This copyright notice must be
- retained. This software may not be included in commercial products without
- written permission of Columbia University.
- */
-
-
- #ifdef MPW
-
- /****************************************************************************/
- pascal void
- SPtoaA0 ()
- /****************************************************************************/
- extern 0x208F; /* MOVE.L SP, (A0) */
-
-
-
- /****************************************************************************/
- pascal void
- loadA0 (params)
- char *params;
- /****************************************************************************/
- extern 0x205F; /* MOVEA.L (A7)+,A0 */
-
-
-
- /****************************************************************************/
- pascal void
- loadD1 (value)
- long value;
- /****************************************************************************/
- extern 0x221F; /* MOVE.L (A7)+,D1 */
-
-
-
- /****************************************************************************/
- pascal void
- loadD2 (value)
- long value;
- /****************************************************************************/
- extern 0x241F; /* MOVE.L (A7)+,D2 */
-
-
-
- /****************************************************************************/
- pascal void
- pushD0 ()
- /****************************************************************************/
- extern 0x2F00; /* MOVE.L D0,-(A7) */
-
-
-
- /****************************************************************************/
- pascal void
- poptoA0 ()
- /****************************************************************************/
- extern 0x209F; /* MOVE.L (A7)+,(A0) */
-
-
-
- /****************************************************************************/
- pascal void
- saveA0 ()
- /****************************************************************************/
- extern 0x2F08; /* MOVEA.L A0,-(A7) */
-
-
-
- /****************************************************************************/
- pascal void
- restoreA0 ()
- /****************************************************************************/
- extern 0x205F; /* MOVEA.L (A7)+,A0 */
-
-
-
- /****************************************************************************/
- pascal void
- AllRegs ()
- /****************************************************************************/
- extern 0xFFFF; /* D0-D7/A0-A7 (all registers) */
-
-
-
- /****************************************************************************/
- pascal void
- SaveRegs ()
- /****************************************************************************/
- extern 0x48E7; /* MOVEM.L <registers>,-(A7) */
-
-
-
- /****************************************************************************/
- pascal void
- RestoreRegs ()
- /****************************************************************************/
- extern 0x4CDF; /* MOVEM.L (A7)+,<registers> */
-
-
-
- /****************************************************************************/
- pascal void
- execute ()
- /****************************************************************************/
- extern 0x4E90; /* JSR (A0) */
-
-
-
- /****************************************************************************/
- pascal void
- Launch ()
- /****************************************************************************/
- extern 0xA9F2; /* Launch Trap */
-
- #ifdef MPW2
-
- /**********************************/
- pascal Boolean
- WaitNextEvent (eventMask, theEvent, sleep, mouseRgn)
- short eventMask;
- EventRecord *theEvent;
- long sleep;
- RgnHandle mouseRgn;
- /***********************************/
- extern 0xA860; /* it's a toolbox trap... */
-
- #endif /* MPW2 */
-
- #define num_WaitNextEvent 0x60
- #define num_JugglDispatch 0x8F /* The Temp Memory calls (RWR) */
- #define num_UnknownTrap 0x9F
- #define num_ScriptTrap 0xBF
-
-
- /***********************************/
- pascal void
- UnknownTrap ()
- /***********************************/
- extern 0xA89F;
-
- #else /* MPW */
-
- /****************************************************************************/
- pascal void
- SPtoaA0 () = 0x208F; /* MOVE.L SP, (A0) */
-
-
-
- /****************************************************************************/
- pascal void
- loadA0 (char *params) = 0x205F; /* MOVEA.L (A7)+,A0 */
-
-
-
- /****************************************************************************/
- pascal void
- loadD1 (long value) = 0x221F; /* MOVE.L (A7)+,D1 */
-
-
-
- /****************************************************************************/
- pascal void
- loadD2 (long value) = 0x241F; /* MOVE.L (A7)+,D2 */
-
-
-
- /****************************************************************************/
- pascal void
- pushD0 () = 0x2F00; /* MOVE.L D0,-(A7) */
-
-
-
- /****************************************************************************/
- pascal void
- poptoA0 () = 0x209F; /* MOVE.L (A7)+,(A0) */
-
-
-
- /****************************************************************************/
- pascal void
- saveA0 () = 0x2F08; /* MOVEA.L A0,-(A7) */
-
-
-
- /****************************************************************************/
- pascal void
- restoreA0 () = 0x205F; /* MOVEA.L (A7)+,A0 */
-
-
-
- /****************************************************************************/
- pascal void
- AllRegs () = 0xFFFF; /* D0-D7/A0-A7 (all registers) */
-
-
-
- /****************************************************************************/
- pascal void
- SaveRegs () = 0x48E7; /* MOVEM.L <registers>,-(A7) */
-
-
-
- /****************************************************************************/
- pascal void
- RestoreRegs () = 0x4CDF; /* MOVEM.L (A7)+,<registers> */
-
-
-
- /****************************************************************************/
- pascal void
- execute () = 0x4E90; /* JSR (A0) */
-
-
-
- /****************************************************************************/
- pascal void
- Launch () = 0xA9F2; /* Launch Trap */
-
- /**********************************/
- pascal Boolean
- WaitNextEvent (short eventMask, EventRecord *theEvent, long sleep,
- RgnHandle mouseRgn) = 0xA860; /* it's a toolbox trap... */
-
- #define num_WaitNextEvent 0x60
- #define num_JugglDispatch 0x8F /* The Temp Memory calls (RWR) */
- #define num_UnknownTrap 0x9F
- #define num_ScriptTrap 0xBF
-
- /***********************************/
- pascal void
- UnknownTrap () = 0xA89F;
-
- #endif /* MPW */
-
- /*
- * Junk so Emacs will set local variables to be compatible with Mac/MPW.
- * Should be at end of file.
- *
- * Local Variables:
- * tab-width: 4
- * End:
- */
-